import { TAAMeterTypeEnum } from '@/constants/enum';

/**
 * 工厂列表 返回列表
 */
export interface GetListPlantResult {
  /**
   * 工厂编号
   */
  plantNo: string;
  /**
   * 工厂id
   */
  plantId: string;
  /**
   * 工厂id
   */
  plantName: string;
  /**
   * 组织编号
   */
  organizationCode: string;
  /**
   * 组织名称
   */
  organizationName: string;
}

/**
 * 新增工厂 请求参数
 */
export type PostPlantAddParams = Omit<GetListPlantResult, 'plantNo'>;

/**
 * 分页查询仪表 返回参数
 */
export interface GetListDeviceResult {
  /**
   * 仪表编号
   */
  deviceNo: string;
  /**
   * 仪表id
   */
  meterId: string;
  /**
   * 仪表名称
   */
  meterName: string;
  /**
   * 仪表类型
   */
  meterType: keyof typeof TAAMeterTypeEnum;
  /**
   * 工厂编号
   */
  plantNo: string;
  /**
   * 工厂id
   */
  plantId: string;
  /**
   * 工厂编号
   */
  plantName: string;
  /**
   * 数据单位
   */
  dataUnit: string;
  /**
   * 单位所属分组
   */
  dataUnitGroup: string;
  /**
   * 车间
   */
  department: string;
}

/**
 * 新建仪表 入参
 */
export interface PostDeviceAddParams
  extends Pick<
    GetListDeviceResult,
    'meterId' | 'meterName' | 'meterType' | 'plantNo' | 'dataUnit'
  > {
  /**
   * 车间
   */
  department: string;
}

/**
 * 编辑仪表 入参
 */
export interface PostDeviceEditParams extends Omit<PostDeviceAddParams, 'plantNo'> {
  /**
   * 仪表编号
   */
  deviceNo: string;
}
